CocoaPods 升级

//最新源 https://gems.ruby-china.org
From: http://www.jianshu.com/p/935f156b7499

简述

当我们自己电脑上的CocoaPods版本过低,但是别的项目使用的CocoaPods版本过高的时候,你如果通过pod update获取Pods中的内容,就会提示下面的问题:

[!] The 项目 repo requires CocoaPods 1.0.0 -(currently using 0.39.0)

这就是提醒你项目用的CocoaPods的版本是1.0.0,你现在自己的版本是0.39.0。需要升级CocoaPods,可以通过pod –version查看你当前的CocoaPods版本号。

升级

依次使用下面的命令执行更新:(因为一些资源被墙了,步骤2,3是为了国内访问,4是让你确认2,3的操作是否正常执行。当然如果你已经安装了vpn可以访问国外的网站,2,3,4步骤省略)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
1.$ sudo gem update --system// 先更新gem,国内需要切换源
2.$ gem sources --removehttps://rubygems.org/
3.$ gem sources -ahttps://ruby.taobao.org
4./$ gem sources -l
\*\*\* CURRENT SOURCES \*\*\*https://ruby.taobao.org/
5.$ sudo gem install cocoapods// 安装cocoapods
6.$ pod setup
```
注: 转

更新
如果你不加版本号应该会给你安装最新版

$ sudo gem install cocoapods
我想要更新到1.1.1,所以我执行以下命令

$ sudo gem install cocoapods -v 1.1.1
如果你想尝试预览版,那就用以下命令

$ sudo gem install cocoapods –pre

问题
现实总是不让你开心,各种各样的问题都会出现,今天我在更新pod的时候就遇到了下面的问题。

$ sudo gem install cocoapods -v 1.1.1
Password:
Fetching: cocoapods-core-1.1.1.gem (100%)
Successfully installed cocoapods-core-1.1.1
Fetching: cocoapods-1.1.1.gem (100%)
ERROR: While executing gem … (Errno::EPERM)
Operation not permitted - /usr/bin/pod
从提示可以看出是因为没有权限在/usr/bin/这个目录写入,经过搜索发现原因是OS X 10.11的新安全机制:System Integrity Protection也叫作:rootless,这个默认的安全机制用于保护下面三个目录,所以无法在/usr/bin/中安装pod

/System
/sbin
/usr (with the exception of /usr/local subdirectory)
这个问题网上给出了两种解决方案,一个是关闭这个安全机制,另一个是绕过这个机制安装在别的位置。

关闭该机制

$ sudo nvram boot-args=”rootless=0”; sudo reboot
执行该命令后会重启电脑,保证设置生效

然后再进行正常的安装

$ sudo gem install cocoapods
绕开该机制

$ sudo gem install -n /usr/local/bin cocoapods
这样呢就把pod安装在了/usr/local/bin目录下

对于这两种方法,第二种会好一些,因为自己的可执行程序确实应该放在/usr/local/bin目录下,而且苹果既然有这项设置那肯定有他的道理,没有必要非要关闭这个设置,多个防护多点安全。

```

如果一切顺利,执行完上面的操作,你的CocoaPods就更新完了。但是有时候会碰到一下问题:

ERROR:While executing gem … (Errno::EPERM)

Operation not permitted - /usr/bin/xcodeproj

如果遇到此问题可以将上面步骤5中的命令改为下面的命令

sudo gem install -n /usr/local/bin cocoapods。

参考:http://www.cnblogs.com/brycezhang/p/3675670.html

http://stackoverflow.com/questions/30812777/cannot-install-cocoa-pods-after-uninstalling-results-in-error/30851030#30851030  
Author

陈昭

Posted on

2017-07-04

Updated on

2021-12-27

Licensed under

You need to set install_url to use ShareThis. Please set it in _config.yml.
You forgot to set the business or currency_code for Paypal. Please set it in _config.yml.

Kommentare

You forgot to set the shortname for Disqus. Please set it in _config.yml.